package com.plian.system.entity.qg.subsidiary;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.plian.Tools.DateUtil;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

/**
 * 引进非市级国有资本 实体类
 *
 * @author jianglei
 * @since 2019-11-05
 */
@Data
@TableName("qg_subsidiary_introduce_reform")
@EqualsAndHashCode(callSuper = true)
public class SubsidiaryIntroduceReform extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 单据编码
     */
    private String code;

    /**
     * 混改企业名称
     */
    private String companyId;

    /**
     * 企业级次
     */
    private String companyRankId;

    /**
     * 所属行业
     */
    private String majorIndustryId;

    @TableField(exist = false)
    private List<String> majorIndustryIds;

    /**
     * 功能分类
     */
    private String functionalCategoryId;

    /**
     * 实施时间
     */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    @TableField(value = "implementation_time",updateStrategy = FieldStrategy.IGNORED)
    private Date implementationTime;

    /**
     * 引进方式
     */
    private String introduceCategoryId;
    @TableField(exist = false)
    private List<String> introduceCategoryIds;

    /**
     * 具体方式
     */
    private String otherIntroduce;

    /**
     * 引进后注册资本（万元）
     */
    @TableField(value = "introduce_registered_capital",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal introduceRegisteredCapital;


    /**
     * 引入非市级国有资本金额（万元）
     */
    @TableField(value = "introduce_capital_amount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal introduceCapitalAmount;

    /**
     * 引入非市级国有资本占比
     */
    @TableField(value = "introduce_capital_ratio",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal introduceCapitalRatio;

    /**
     * 子企业数
     */
    private Integer subsidiaryNum;

    /**
     * 员工持股比例
     */
    @TableField(value = "employee_stock_ratio",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal employeeStockRatio;

    /**
     * 混改方式
     */
    private String mixedModeId;

    @TableField(exist = false)
    private List<String> mixedModeIds;

    /**
     * 混改类型
     */
    private String mixedType;

    /**
     * 混改后企业类别
     */
    private String mixedCategoryId;


    /**
     * 审批人
     */
    private String approvedUser;
    /**
     * 审批时间
     */
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
    private Date approvedTime;

    /**
     * 审批意见
     */
    private String approvedOpinion;

    /**
     * 审批流主键
     */
    private String formType;

    /**
     * 所属集团全称
     */
    private String affiliatedOrgFullName;

    /**
     * 员工持股人数
     */
    private Integer employeeSharingholdingNums;

    /**
     * 与国家出资企业的关系 编码126
     */
    private String stateFundedRelation;

    /**
     * 混改后企业股权结构
     */
    @TableField(exist = false)
    private List<MixedOwnershipStructure> mixedOwnershipStructures;

    @TableField(exist = false)
    private List<HashMap> list_doc;

    @ApiModelProperty(value = "是否三江汇海：0-否，1-是", required = true)
    private Integer isThree;
}